home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / bbsutil / hsrc_117.zip / HEADEDIT.C < prev    next >
Text File  |  1990-11-27  |  20KB  |  740 lines

  1. /* XBBS Message Base Reader (C BASES ONLY) for SYSOPS (HeadEdit) */
  2.  
  3. #include <msgg.h>
  4. #include <twindow.h>
  5. #include <keys.h>
  6. #include "headid.h"
  7.  
  8. char msk78[]="______________________________________________________________________________";
  9. #define msk35 msk78+43
  10. #define mskst msk35+33
  11. #define mskzip msk35+30
  12. #define mskcit msk35+11
  13. #define msk1 msk78+77
  14. #define msk3 msk35+32
  15. #define msk5 msk35+30
  16. #define msk6 msk35+29
  17. #define msk47 msk78+31
  18. #define msk51 msk78+28
  19. #define msk65 msk78+13
  20. #define msk19 msk78+59
  21. #define msk58 msk78+20
  22. #define msk10 msk78+68
  23.  
  24. #define QUOTE    1
  25. #define TEXTFILE 0
  26. #define EDITIT   2
  27. #define PRINTIT  4
  28. #define ECHO2NET 8
  29. #define NOQUOTE  16
  30. #define NOINFO     64
  31. #define INFOONLY 128
  32.  
  33. #define nopause nopause_msg
  34. #define pause pause_msg
  35.  
  36. extern void   pascal CLEAROVERLAY(void);
  37. extern char * pascal get_string (char *text,char len,char *deflt,char type);
  38. extern void   pascal show_header (char quick);
  39. extern void   pascal do_spawn (char *dostring);
  40. extern void      pascal notepad(void);
  41. extern int    pascal bomb_who (struct _bomb_addr *bomb_addr);
  42. extern int    pascal fill_in_carbon (struct _carbon *carbon);
  43. extern int    pascal exec (void);
  44. extern word   pascal get_abunch (word messno,char type,int direction,char *str);
  45. extern int    cdecl  ffprintf(int,char *,...);
  46. extern char * pascal fgetsx(char *,int,int);
  47. extern word   pascal list_areas(void);
  48. extern void   pascal killjunk(void);
  49. extern char   pascal isitme (char);
  50. extern void   pascal import_mail(void);
  51. extern void   pascal export_mail(void);
  52. extern void   pascal node_lister (void);
  53. extern int    pascal nodelist (struct nodeidx *,char);
  54. extern void   pascal make_file (void);
  55. extern char * pascal rstrip (char *);
  56. extern word   pascal list_mess(void);
  57. extern char * pascal lstrip (char *);
  58. extern char * pascal convertstring (char *a);
  59. extern char * pascal saydate (struct date*);
  60. extern char * pascal saytime (struct time*);
  61. extern char * pascal getdttm (void);
  62. extern void   pascal right (char *,char *,int);
  63. extern void   pascal mid (char *,char *,int,int);
  64. extern void   pascal info (void);
  65. extern char * pascal fidodate (void);
  66. extern char * pascal stripcr (char *);
  67. extern void   pascal left (char *,char *,int);
  68. extern int    pascal export (char *,char,char,char *,char *,void *);
  69. extern char   pascal spawnit (char *);
  70. extern int    cdecl  break_handler (void);
  71. extern int    pascal edit_mess (char);
  72. extern word   pascal check_area (word);
  73. extern void   pascal get_mess (char);
  74. extern void   pascal put_mess (void);
  75. extern word   pascal select_mess (void);
  76. extern word   pascal select_area (void);
  77. extern void   pascal read_control (char *,char *);
  78. extern char * pascal get_qstring (char *);
  79. extern word   pascal find_filearea (void);
  80. extern void   pascal select_name (void);
  81. extern char * pascal mci (char *);
  82. extern void   pascal printer (void);
  83. extern int    pascal doswap (char far *, char far *);
  84. extern void   pascal load_lastread(void);
  85. extern void   pascal save_lastread(void);
  86. extern void   pascal switch_dirs(void);
  87. extern void   pascal strip_seenbys (char *);
  88.  
  89. extern void   pascal print_clock(void);
  90. extern void   pascal get_rid(void);
  91. extern void   pascal strip_blanklines(char *);
  92. extern char * pascal write_line (char **text,word linelen,char ctla);
  93. extern void   pascal check_pos (void);
  94. extern void   pascal bell (void);
  95. extern void   pascal clrr (void);
  96. extern char * pascal area_attr (void);
  97. extern char * pascal quick_attr (void);
  98. extern word   pascal put_text(char far*,char *,char *,struct ffblk *,char *);
  99. extern word   pascal search (char,char);
  100. extern void   pascal update_read (void);
  101. extern void   pascal move_mess (void);
  102. extern void   pascal post_mess (char *);
  103. extern void   pascal edit_text (void);
  104. extern void   pascal scan_mess (void);
  105. extern word   pascal thread (char,char *);
  106. extern char far *    pascal get_text (void);
  107. extern int    pascal display (word *,char);
  108. extern void   pascal read_mess (char,char);
  109. extern void   pascal cls(int,int,int,int,int);
  110. extern void   pascal select_address (void);
  111. extern void   pascal get_origin (void);
  112. extern char * pascal unpack_msg (char **hold);
  113. extern char * pascal pack_msg (char *hold);
  114. extern void   pascal load_areas (void);
  115. extern int    pascal set_header (char,char *,char *,char *);
  116.  
  117. /* In this module */
  118.  
  119. void   pascal menu (void);
  120. void   cdecl  deinit(void);
  121. int    pascal find_area (void);
  122.  
  123. extern unsigned _Cdecl _stklen = 20480;    /* Stack length */
  124.  
  125. char dest[6];        /* Destination node                              */
  126. char orig[6];        /* Origination node number                       */
  127. char cost[6];        /* Unit cost charged to send the message         */
  128. char orig_net[6];    /* Origination network number                    */
  129. char dest_net[6];    /* Destination network number                    */
  130. char d_zone[6];      /* Destination zone                              */
  131. char o_zone[6];      /* Origination zone                              */
  132. char d_point[6];     /* Destination point                             */
  133. char o_point[6];     /* Origination point                             */
  134.  
  135. /* References to window library */
  136.  
  137. extern int helpkey;
  138. extern WINDOW *ewnd;
  139.  
  140. /* Structures */
  141.  
  142. struct _carbon {
  143.     char name[36];
  144.     word zone;
  145.     word net;
  146.     word node;
  147.     word point;
  148.     int  cost;
  149. };
  150. struct _bomb_addr {
  151.     word zone;
  152.     word net;
  153. };
  154. struct _address {
  155.     word zone;
  156.     word net;
  157.     word node;
  158.     word point;
  159.     char domain[37];
  160. };
  161.  
  162. struct _marea {
  163.     char *name;
  164.     word attr;
  165.     word max;
  166.     word number;
  167.     char thisaddr;
  168.     char thisname;
  169. };
  170.  
  171. char nobell=1;
  172. char lastmsgid[80]="";
  173. char lastreply[80]="";
  174. char replyid[80]="";
  175. char urgent_text[79]="";
  176. char wrapit=0;
  177. char usedefault=0;
  178. struct _address *address[50];
  179. signed char noaddress;
  180. struct _address curaddress;
  181. char origin[60]="";
  182. char path[99]="";
  183. char autocheck=1;
  184. WINDOW *wnd1=NULL;
  185. WINDOW *wnd4=NULL;
  186. WINDOW *wnd6=NULL;
  187. char buffer[514];
  188. struct _xmsg msg;
  189. struct _xmsg msg2;
  190. char ctla=0;
  191. long nidxsize;
  192. struct nodeidx huge *nidx=NULL;
  193. char huge **line;
  194. word higharea=0;
  195. word areano=0;
  196. word messno=0;
  197. word nomess=0;
  198. word userno=0;
  199. char notrack=0;
  200. struct _marea huge *marea;
  201. struct _marea huge *currarea;
  202. struct _marea nullarea;
  203. word maxareas=0;
  204. word totalareas=0;
  205. word netboard=0;
  206. word altboard=0;
  207. char to_domain[37]="";
  208. char *ansieditor=NULL;
  209. char *template=NULL;
  210. char *wrapcall=NULL;
  211. char *editor=NULL;
  212. char *texteditor=NULL;
  213. char filename[127];
  214. char textname[127];
  215. char *flsearch=NULL;
  216. char filepath[79]="";
  217. char *alias[50];
  218. char *nodepath=NULL;
  219. signed char noalias=0;
  220. char name[36];
  221. word defaultattr=MSGLOCAL+MSGPRIVATE+MSGKILL;
  222. word *lastread;
  223. word posts=0;
  224. char nodirs=0;
  225. char *dirs[50];
  226. char *fkey[10];
  227. char makeinfo=0;
  228. char readtextcolor=11;
  229. char readtextback=0;
  230. char readheadcolor=3;
  231. char readheadback=0;
  232. char readstatcolor=0;
  233. char readstatback=3;
  234. word maxlines=10240;
  235. char filenamer[66]="TEMP";
  236. char quotestring[12]=">";
  237. char pagelength=66;
  238. char topmargin=6;
  239. char bottommargin=6;
  240. char leftmargin=6;
  241. char textwidth=68;
  242. char beforeheader[12]="";
  243. char afterheader[12]="";
  244. char aftertext[48]="";
  245. char afterprinting[12]="\xc";
  246. char *spawnview=NULL;
  247. char swapname[64]="HeadSwap.$#$";
  248. char useswapdisk='C';
  249. char LIMEMS=0;
  250. char swap=0;
  251. char screenwidth=80;
  252. char wasdisplay=0;
  253. char *before_quote=NULL;
  254. char *after_before=NULL;
  255. char *after_quote=NULL;
  256. unsigned int textsize,codesize;
  257. unsigned int packsize=2048;
  258. char hilite=0;
  259. char assocfile[133]="";
  260. char notefile[133]="MSGTMP";
  261. char nopt=0;
  262. char nointl=0;
  263. char noclock=0;
  264. char slowprint;
  265. char inbound[80]="";
  266. char outbound[80]="";
  267. char ismail=0;
  268. char msgareas[98]="MSGAREAS.XBS";
  269. char domail=0;
  270.  
  271. extern char usemouse;
  272. extern word vbase;
  273. extern word maxx;
  274. extern word maxy;
  275. extern char current_color;
  276. extern word videomethod;
  277.  
  278. char kludge_fore=2;
  279. char kludge_back=0;
  280. char quote_fore=9;
  281. char quote_back=0;
  282. char tear_fore=1;
  283. char tear_back=0;
  284. char orig_fore=6;
  285. char orig_back=0;
  286. char skipdeleted=0;